This file describes the functions (or formulas) used to calculate new point positions in oh_joy.

x1,y1 are the coordinates of the old position.
x2,y2 are the coordinates of the new, calculated position.

"Hopalong Formula 1"

		x2=y1-(sign*sqrt(fabs((b*x1)-c)));
		y2=a-x1;

	this is the main formula from the Scientific American article in the Sep 86 issue.
	pretty tolerant of a wide range of values. 

"Hopalong Formula 2"

		x2=y1-(b*sin(x1));
		y2=a-(c*x1);

	this formula sucks.  only reason for inclusion is that it also was in the Sciam article.
	can get some decent pictures, but really have to work to find good settings.

"Fred Schimmel's Formula"

		x2=(x1-a)*sin(d)-(y1-(sign*pow(fabs(b*x1-c),fabs(e))))*cos(d);
		y2=(x1-a)*cos(d)+(y1-(sign*pow(fabs(b*x1-c),fabs(e))))*sin(d);
	
	this formula is a generalization of the hopalong formula 1.  For A = pi and E = 1/2
	you'll get the original Hopalong formula.

"Three Ply"

		x2=y1-sign*( (sin(x1)*a) + b - (x1*c) );
		y2=d-x1;

	also hard to work with. 

"Quadrup 2"


		x2=y1-sign*sin(log(fabs((b*x1)-c)+.00001))*atan(fabs((c*x1)-b)*fabs((c*x1)-b));
		y2=a-x1;

	not as hard to work with...can get some neat patterns with this one though.

"Schimmel Variant One"

		x2=(x1-a)*cos(d)-(y1-(sign*pow(fabs(b*x1-c),fabs(e))))*sin(d);
		y2=(x1-a)*sin(d)+(y1-(sign*pow(fabs(b*x1-c),fabs(e))))*cos(d);

	I mutated the schimmel formula a little.  works pretty decently, one of my favorites.

"GroundNet One"

		x2=y1-d*sign*cos(log(fabs((b*x1)-c)+.00001))*asin(fabs((c*x1)-b)*fabs((c*x1)-b));
		y2=a-x1;
		
"GroundNet Two"

		x2=y1-d*sign*sin(log(fabs((b*x1)-c)+.00001))*asin(fabs((c*x1)-b)*fabs((c*x1)-b));
		y2=a-x1;

"GroundNet Three"

		x2=exp(-1*(fabs((b*x1)-c)+.00001));
		x2=y1-d*sign*sin(x2)*atan(x2*x2);
		y2=a-x1;

"GroundNet Four"

		x2=exp(-1*(fabs((b*x1)-c)+.00001));
		x2=y1-d*sign*atan(x2*x2);
		y2=a-x1;

"GroundNet Five"

		x2=exp(-1*(fabs((b*x1)-c)+.00001));
		x2=y1-d*sign*asin(x2);
		y2=a-x1;

"GroundNet Six"

		x2=exp(-1*(fabs((b*x1)-c)+.00001));
		x2=y1-d*sign*acos(x2);
		y2=a-x1;

"GroundNet Seven"

		x2=exp(-1*(fabs((b*x1)-c)+.00001));
		x2=y1-d*sign*acos(x2)*x2;
		y2=a-x1;

"GroundNet Eight"

		x2=exp(-1*(fabs((b*x1)-c)+.00001));
		x2=y1-d*sign*atan(x2);
		y2=a-x1;

"GroundNet Nine"
		x2=exp(-1*(fabs((b*x1)-c)+.00001));
		x2=y1-d*sign*cos(x2)*atan(x2*x2);
		y2=a-x1;

"GroundNet Ten"

		x2=exp(-1*(fabs((b*x1)-c)+.00001));
		x2=y1-d*sign*asin(x2)*x2;
		y2=a-x1;

"GroundNet Eleven"

		x2=exp(-1*(fabs((b*x1)-c)+.00001));
		x2=y1-d*sign*atan(x2)*x2;
		y2=a-x1;

"GroundNet Twelve"

		x2=y1-sign*( (cos(x1)*a) + b - (x1*c) );
		y2=d-x1;
